/**
 * 功能 专门针对ETS写的离线存储 所 有的回调都是传string 例如传了'getData',相当于ETS会回调window.getData
 * 建议离线数据 id 存成一个数组存在localStorage里面配合下面函数使用
 * @Author: lizuping
 * @Date: 2018-00-00
 * @Last Modified by: lizuping
 * @Last Modified time: 2018-07-24 13:42:30
 */
let os = (function () {
    var ua = navigator.userAgent;
    var os = {android: false, iphone: false};
    os.android = !!ua.match(/(Android)\s+([\d.]+)/);
    var ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
    os.iphone = !!(!ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/));
    return os;
}());

export default{ // 添加数据到原生手机缓存区 数据  数据id名
    addData: function (data, id) {
        var message = {
            key: id,
            data: data
        };

        if (os.android) {
            var jsonString = JSON.stringify(message);
            window.callData.Native_Js_addData(jsonString);
        } else {
            window.webkit.messageHandlers.Native_Js_addData.postMessage(message);
        }
    },

    // 得到手机缓存区的数据 数据id名（存的时候指定的） 回调函数名(string)
    getCacheFile: function (id, fucName) {
        var message = {
            key: id,
            callback: fucName
        };
        if (os.android) {
            var jsonString = JSON.stringify(message);
            window.callData.Native_Js_getData(jsonString);
        } else {
            window.webkit.messageHandlers.Native_Js_getData.postMessage(message);
        }
    },

    // 移除手机存储数据 数据id名（存的时候指定） 回调函数名（string）
    removeData: function (id, fucName) {
        var message = {
            key: id,
            callback: fucName
        };

        if (os.android) {
            var jsonString = JSON.stringify(message);
            window.callData.Native_Js_deleteData(jsonString);
        } else {
            window.webkit.messageHandlers.Native_Js_deleteData.postMessage(message);
        }
    },

    // 查看手机存储数据是否存在 数据id名，回调函数名（string） TIP：该函数可用可不用（如不需要严格判断数据是否存在）
    hasFile: function (id, fucName) {
        var message = {
            key: id,
            callback: fucName
        };
        if (os.android) {
            var jsonString = JSON.stringify(message);
            window.callData.Native_Js_HasFile(jsonString);
        } else {
            window.webkit.messageHandlers.Native_Js_HasFile.postMessage(message);
        }
    },

    // 查看手机存储数据返回结果 示例
    hasFileResult: function (res) {
        // 手机返回数据true有数据 false无数据
        if (res === 'true') {
            // 如果存在就取出数据
        } else {
            // 如果不存
        }
    }

};
